using KL.Standard.Model.Infrastructure;
using KL.Standard.Model.Models.BaseArch;
using KL.Standard.Model.ViewModels.InParams;
using KL.Standard.Model.ViewModels.OutResult;

namespace KL.Standard.Domain.Services;

public interface IUserSvc
{
    /// <summary>
    /// 查询分页
    /// </summary>
    /// <param name="sarchInfo"></param>
    /// <returns></returns>
    Task<PageResult<AccountVM>> SearchPage(PageSearchModel sarchInfo);
    /// <summary>
    /// 中台保存
    /// </summary>
    /// <param name="sysAccountPo"></param>
    /// <returns></returns>
    BaseResult<string> Save4ZT(SysAccountPO sysAccountPo);
    /// <summary>
    /// 中台删除
    /// </summary>
    /// <param name="loginId"></param>
    /// <returns></returns>
    BaseResult<string> Delete4ZT(string loginId);
    /// <summary>
    /// 获取所有未选中的菜单
    /// </summary>
    /// <param name="loginId"></param>
    /// <returns></returns>
    Task<BaseResult<IEnumerable<TreeNode<string>>>> GetAllUnChkMenus4Account(string loginId);
    /// <summary>
    /// 保存
    /// </summary>
    /// <param name="sysAccountPo"></param>
    /// <returns></returns>
    BaseResult<string> Save(SysAccountPO sysAccountPo);
    /// <summary>
    /// 登录
    /// </summary>
    /// <param name="loginParam"></param>
    /// <returns></returns>
    BaseResult<CurUserInfo> Login(LoginParam loginParam);
}